package com.turnengine.client.global.announcement.command;

import com.javabi.codebuilder.generated.IGeneratedCommand;
import com.turnengine.client.global.command.IGlobalExecutableCommand;
import com.turnengine.client.global.game.enums.GameLevel;

/**
 * The I Post Announcement.
 */
public interface IPostAnnouncement extends IGeneratedCommand, IGlobalExecutableCommand<Integer>, Comparable<IPostAnnouncement> {

	/**
	 * Returns the login id.
	 * @return the login id.
	 */
	long getLoginId();

	/**
	 * Returns the game level id.
	 * @return the game level id.
	 */
	int getGameLevelId();

	/**
	 * Returns the game level.
	 * @return the game level.
	 */
	GameLevel getGameLevel();

	/**
	 * Returns the subject.
	 * @return the subject.
	 */
	String getSubject();

	/**
	 * Returns the body.
	 * @return the body.
	 */
	String getBody();

	/**
	 * Sets the login id.
	 * @param loginId the login id to set.
	 */
	void setLoginId(long loginId);

	/**
	 * Sets the game level id.
	 * @param gameLevelId the game level id to set.
	 */
	void setGameLevelId(int gameLevelId);

	/**
	 * Sets the game level.
	 * @param gameLevel the game level to set.
	 */
	void setGameLevel(GameLevel gameLevel);

	/**
	 * Sets the subject.
	 * @param subject the subject to set.
	 */
	void setSubject(String subject);

	/**
	 * Sets the body.
	 * @param body the body to set.
	 */
	void setBody(String body);
}
